/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Classes;

import java.util.Date;
import java.util.Objects;

/**
 * Représente un achat, avec une liste de produits, une date et un Acheteur
 * @author Dany
 */
public class Achat {
    private IAcheteur _acheteur ;
    private Produits _produits;
    private Date _date;
    
    /**
     * Constructors
     */
    public Achat() {
        this.setAcheteur(new Acheteur());
        this.setProduits(new Produits());
        this.setDate(new Date());
    }
    
    public Achat(IAcheteur acheteur,Produits produits){
        this.setAcheteur(acheteur);
        this.setProduits(produits);
        this.setDate(new Date());
    }
    
    /**
     * Getters and Setters
     * @return 
     */
    public IAcheteur getAcheteur() {
        return _acheteur;
    }

    public Produits getProduits() {
        return _produits;
    } 
    
    public Date getDate() {
        return _date;
    }
    public void setAcheteur(IAcheteur acheteur) {
        this._acheteur = acheteur;
    }

    public void setProduits(Produits produits) {
        this._produits = produits;
    }
    public void setDate(Date date) {
        this._date= date;
    }

    /**
     * Equals
     * @param obj
     * @return true si equals
     */
    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Achat other = (Achat) obj;
        if (!Objects.equals(this._acheteur, other._acheteur)) {
            return false;
        }
        if (!Objects.equals(this._produits, other._produits)) {
            return false;
        }
        return true;
    }
    
  
}